package com.atguigu.bean;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;

/**
 *
 * 后置处理器：
 *      来干预bean初始化前后干的事情，
 *      这里干预的是所有的初始化前后干的事情
 *
 *      我们可以在逻辑里面进行判断，只对某些特定的的bean进行一些处理
 *
 *
 *      spring底层大量运用到了这个后置处理器
 * @author : zjj
 * @date : 2021/9/24 10:03
 */
public class MyBeanPostProcessor  implements BeanPostProcessor {
    public Object postProcessBeforeInitialization(Object o, String s) throws BeansException {
        // 这里可以对一些特定的bean 进行一定的定制化的操作，来改变bean的一些行为
        System.out.println(" 初始化之前执行 。。。。。。。。。" + "beanName ====>" + s);
        return o;
    }

    public Object postProcessAfterInitialization(Object o, String s) throws BeansException {
        // 这里也可以对一些特定的bean进行一定的定制化操作，来改变bean的一些行为
        System.out.println(" 初始化之前执行 。。。。。。。。。" + "beanName ====>" + s);
        return o;
    }
}
